package principal;

import interfaces.ICallableMethod;
import objet.Horloge;
import objet.IHorloge;
import objet.IObjet1;
import objet.IPoint;
import objet.Objet1;
import objet.Point;
import client.MethodCallImpl;

/**
 * Classe principale du client
 * 
 * Pour faire un appel vers le serveur, créer les objets nécessaire à un des methodCall disponible (liste dans l'interface ICallableMethod.
 * Instancier la classe MethodCallImpl et lancer le methodCall souhaité
 * 
 * @author Kevin Pozderec, Faycal Abka
 *
 */
public class MainClient {
	
	/**Lance un client qui fait deux methodCall*/
	public static void main(String[] args) {
		IPoint p = new Point(10, 3);
		IObjet1 o = new Objet1();
		IHorloge h = new Horloge();
		
		ICallableMethod cm = new MethodCallImpl();
		
		System.out.println("Appel à pointMove");
		
		cm.pointMoveCall(p, 4, 8);
		
		System.out.println("\n\nAppel à use objet");
		
		cm.useObject1Call(o, 1, true, "test", 115.5);
		
		System.out.println("\n\nAppel à pingDate");
		
		cm.pingDateCall(h);
		
	}
}
